using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Data.SqlClient;
using System.Data;
using ENT_Entidades;
using PQT_RELACIONAL;

namespace DAL_Acceso.a.Datos
{
    public abstract class IntermediarioPersistenciaRelacional:AD_ABM
    {
        private clsOID _ID_Intermediario;

        public clsOID ID_Intermediario
        {
            get { return _ID_Intermediario; }
            set { _ID_Intermediario = value; }
        }
        private string conexion = @"Data Source=GUSTAVIUS-HP\SQLEXPRESS2008;Initial Catalog=NuevoConsultorioSQL;User ID=sa;Password=ahch1810";//"Database=Clinica;server=(local);user id=Administrador";
        protected SqlConnection conect;
        protected SqlCommand command;
        protected IntermediarioPersistenciaRelacional() { }
        public abstract DataSet buscarTodos();
        /*ejecutar queda encapsulado en el padre*/
        public DataSet EjecutarSQL(string sql)
        {//ArrayList EjecutarSQL(string sql) {
            DataSet obj = null;//ArrayList obj;
            SqlDataReader resultado;
            conect = new SqlConnection(conexion);
            command = new SqlCommand();
            conect.ConnectionString = conexion;
            conect.Open();
            command.CommandText = sql;
            //command.Parameters = sql;
            command.ExecuteReader();
            //solamente obtenemos los UUID de modo que no traemos todo de un solo golpe
            //while (resultado.NextResult() != null) {
            //    obj.Add(resultado.GetGuid);
            //}
            //return obj;
            return null;
        }
        public abstract IntermediarioPersistenciaRelacional crear();
        public abstract IntermediarioPersistenciaRelacional buscarxID(clsOID id);
        public abstract void inicializar();
        public abstract IEntidad getObjeto(IEntidad ent);
        public abstract Object buscarxID() ;//{ }
        //public abstract Object buscarxCrit() { }
        private Object materializar(Guid obj) {
            conect = new SqlConnection(conexion);
            command = new SqlCommand();
            conect.ConnectionString = conexion;
            conect.Open();
            return null;
        }
    }
}
